\relax 
\catcode 95\active
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\citation{opencv2011}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}OpenCv}{1}{section.1.1}}
\citation{styleguide95}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}OpenCvAda}{2}{section.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Design}{2}{subsection.1.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Benchmark}{2}{subsection.1.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.3}User guide}{2}{subsection.1.2.3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Interfacing Ada with C and C++}{2}{section.1.3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.4}GIMME Communication Protocol}{3}{section.1.4}}
\citation{styleguide95}
\citation{bradski2008learningbasic}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Design of OpenCvAda}{4}{chapter.2}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Naming conventions}{4}{section.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Types}{4}{subsection.2.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Functions}{4}{subsection.2.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Macros and Constants}{5}{subsection.2.1.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}Pointers}{5}{subsection.2.1.4}}
\citation{bradski2008component}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.5}Packages}{6}{subsection.2.1.5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.6}Generic packages}{6}{subsection.2.1.6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.7}Summary}{6}{subsection.2.1.7}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Pointers}{6}{section.2.2}}
\newlabel{sec:pointersdesign}{{2.2}{6}{Pointers\relax }{section.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Arrays}{7}{subsection.2.2.1}}
\newlabel{sec:array}{{2.2.1}{7}{Arrays\relax }{subsection.2.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}Cv_Void}{7}{subsection.2.2.2}}
\newlabel{sec:cvvoid}{{2.2.2}{7}{Cv_Void\relax }{subsection.2.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.3}Cv_Arr}{8}{subsection.2.2.3}}
\@writefile{toc}{\contentsline {subsubsection}{Overloading}{8}{section*.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.4}Strings}{8}{subsection.2.2.4}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Records}{8}{section.2.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Cv_Arr records}{8}{subsection.2.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Sequences and dynamic types}{9}{subsection.2.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.3}Null records}{9}{subsection.2.3.3}}
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Type conversions}{9}{section.2.4}}
\newlabel{sec:typeconv}{{2.4}{9}{Type conversions\relax }{section.2.4}{}}
\citation{qtweb}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}OpenCvAda Benchmark}{10}{chapter.3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}What we want to test:}{10}{section.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Why test?}{10}{subsection.3.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Comparing OpenCvAda with OpenCv}{10}{subsection.3.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Scaling of OpenCvAda}{10}{subsection.3.1.3}}
\citation{win7}
\citation{fedora}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Does the speed of OpenCvAda change in another OS}{11}{subsection.3.1.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}Samples}{11}{subsection.3.1.5}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}What we tested with:}{11}{section.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}The Benchmarker application}{11}{subsection.3.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}The Memory usage application}{11}{subsection.3.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Platforms}{11}{subsection.3.2.3}}
\citation{nasa}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Hardware}{12}{subsection.3.2.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Image and Video files used}{12}{subsection.3.2.5}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}The actual tests:}{12}{section.3.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Window creation}{12}{subsection.3.3.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Benchmark of window creation and image loading.}}{13}{figure.3.1}}
\newlabel{fig:GuiTestChart}{{3.1}{13}{Benchmark of window creation and image loading}{figure.3.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Large image I/O}{13}{subsection.3.3.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Algorithms}{13}{subsection.3.3.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}Memory usage}{13}{subsection.3.3.4}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Benchmark of operations on large images.}}{14}{figure.3.2}}
\newlabel{fig:bigTestChart}{{3.2}{14}{Benchmark of operations on large images}{figure.3.2}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Benchmark of image processing algorithms.}}{14}{figure.3.3}}
\newlabel{fig:LongTestChart}{{3.3}{14}{Benchmark of image processing algorithms}{figure.3.3}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces Overall memory usage of Delaunay triangulation.}}{15}{figure.3.4}}
\newlabel{fig:memdelaunay}{{3.4}{15}{Overall memory usage of Delaunay triangulation}{figure.3.4}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces Memory usage per second of Delaunay triangulation.}}{16}{figure.3.5}}
\newlabel{fig:MemUseDelaunay}{{3.5}{16}{Memory usage per second of Delaunay triangulation}{figure.3.5}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.6}{\ignorespaces Overall memory usage of Farneback optical flow.}}{16}{figure.3.6}}
\newlabel{fig:memfarneback}{{3.6}{16}{Overall memory usage of Farneback optical flow}{figure.3.6}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.7}{\ignorespaces Memory usage per second of Farneback optical flow.}}{17}{figure.3.7}}
\newlabel{fig:MemUseFarneback}{{3.7}{17}{Memory usage per second of Farneback optical flow}{figure.3.7}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.8}{\ignorespaces Overall memory usage of motion tracker.}}{17}{figure.3.8}}
\newlabel{fig:memmotion}{{3.8}{17}{Overall memory usage of motion tracker}{figure.3.8}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.9}{\ignorespaces Memory usage per second of motion tracker.}}{18}{figure.3.9}}
\newlabel{fig:MemUseMotion}{{3.9}{18}{Memory usage per second of motion tracker}{figure.3.9}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.5}Linux}{18}{subsection.3.3.5}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.10}{\ignorespaces Overall memory usage of polar transformation.}}{19}{figure.3.10}}
\newlabel{fig:mempolar}{{3.10}{19}{Overall memory usage of polar transformation}{figure.3.10}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.11}{\ignorespaces Memory usage per second of polar transformation.}}{19}{figure.3.11}}
\newlabel{fig:MemUsePolar}{{3.11}{19}{Memory usage per second of polar transformation}{figure.3.11}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.12}{\ignorespaces Comparison of Linux and Windows window creation}}{20}{figure.3.12}}
\newlabel{fig:linuxguichart}{{3.12}{20}{Comparison of Linux and Windows window creation\relax }{figure.3.12}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.13}{\ignorespaces Comparison of Linux and Windows large image I/O}}{20}{figure.3.13}}
\newlabel{fig:linuxbigchart}{{3.13}{20}{Comparison of Linux and Windows large image I/O\relax }{figure.3.13}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.14}{\ignorespaces Benchmark of Windows reference.}}{21}{figure.3.14}}
\newlabel{fig:NullTestChart}{{3.14}{21}{Benchmark of Windows reference}{figure.3.14}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.6}Executable reference}{21}{subsection.3.3.6}}
\newlabel{sec:execref}{{3.3.6}{21}{Executable reference\relax }{subsection.3.3.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.7}Correctness}{21}{subsection.3.3.7}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.15}{\ignorespaces Benchmark of Linux reference.}}{22}{figure.3.15}}
\newlabel{fig:linuxnullchart}{{3.15}{22}{Benchmark of Linux reference}{figure.3.15}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.16}{\ignorespaces Memory usage baseline reference.}}{22}{figure.3.16}}
\newlabel{fig:membaseline}{{3.16}{22}{Memory usage baseline reference}{figure.3.16}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.17}{\ignorespaces Comparison of bgfg_codebook sample. Left is Ada and right is C. This sample was tested with a live camera which is why the sample images does not look identical.}}{23}{figure.3.17}}
\newlabel{fig:bgfg}{{3.17}{23}{Comparison of bgfg_codebook sample. Left is Ada and right is C. This sample was tested with a live camera which is why the sample images does not look identical}{figure.3.17}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Benchmark Results}{23}{section.3.4}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.18}{\ignorespaces Comparison of find_object sample. Left is Ada and right is C.}}{24}{figure.3.18}}
\newlabel{fig:findobj}{{3.18}{24}{Comparison of find_object sample. Left is Ada and right is C}{figure.3.18}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.19}{\ignorespaces Comparison of latentsvm sample. Left is Ada and right is C.}}{25}{figure.3.19}}
\newlabel{fig:latentsvm}{{3.19}{25}{Comparison of latentsvm sample. Left is Ada and right is C}{figure.3.19}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.20}{\ignorespaces Comparison of motempl sample. Left is Ada and right is C. This sample was tested with a live camera which is why the sample images does not look identical.}}{25}{figure.3.20}}
\newlabel{fig:motempl}{{3.20}{25}{Comparison of motempl sample. Left is Ada and right is C. This sample was tested with a live camera which is why the sample images does not look identical}{figure.3.20}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.21}{\ignorespaces Comparison of mser sample. Left is Ada and right is C.}}{26}{figure.3.21}}
\newlabel{fig:mser}{{3.21}{26}{Comparison of mser sample. Left is Ada and right is C}{figure.3.21}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}OpenCvAda User Guide}{28}{chapter.4}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{sec:userguide}{{4}{28}{OpenCvAda User Guide\relax }{chapter.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Getting Started}{28}{section.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}Installation}{28}{subsection.4.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Creating a OpenCvAda project in GNAT}{28}{subsection.4.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Hello World}{28}{subsection.4.1.3}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Basics }{30}{section.4.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Naming Guide}{30}{subsection.4.2.1}}
\@writefile{toc}{\contentsline {subsubsection}{Functions}{30}{section*.4}}
\@writefile{toc}{\contentsline {subsubsection}{Types and Constants}{30}{section*.5}}
\@writefile{toc}{\contentsline {subsubsection}{Pointers}{31}{section*.6}}
\@writefile{toc}{\contentsline {subsubsection}{Arrays}{31}{section*.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Standard Types}{31}{subsection.4.2.2}}
\@writefile{toc}{\contentsline {subsubsection}{Integer and Float arrays}{31}{section*.8}}
\@writefile{toc}{\contentsline {subsubsection}{Images and Matrices}{31}{section*.9}}
\@writefile{toc}{\contentsline {subsubsection}{Null Records (``Black Box'' types)}{32}{section*.13}}
\@writefile{toc}{\contentsline {subsubsection}{Strings}{33}{section*.14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Highgui}{33}{subsection.4.2.3}}
\@writefile{toc}{\contentsline {subsubsection}{Creating a Window}{33}{section*.15}}
\@writefile{toc}{\contentsline {subsubsection}{Displaying Images}{33}{section*.16}}
\@writefile{toc}{\contentsline {subsubsection}{Input}{34}{section*.17}}
\@writefile{toc}{\contentsline {subsubsection}{Output}{35}{section*.18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}Camera, Video and Images}{36}{subsection.4.2.4}}
\@writefile{toc}{\contentsline {subsubsection}{How to get an image from a camera}{36}{section*.19}}
\@writefile{toc}{\contentsline {subsubsection}{How to get an image from a video file}{37}{section*.21}}
\@writefile{toc}{\contentsline {subsubsection}{How to get an image from an image file}{37}{section*.22}}
\@writefile{toc}{\contentsline {subsubsection}{Saving images}{38}{section*.23}}
\@writefile{toc}{\contentsline {subsubsection}{Saving video files}{38}{section*.24}}
\citation{taft2006conversion}
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Advanced}{39}{section.4.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Unchecked Conversions}{39}{subsection.4.3.1}}
\@writefile{toc}{\contentsline {section}{\numberline {4.4}The Demo Application}{40}{section.4.4}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Interfacing Ada with C}{44}{chapter.5}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}Basic types}{44}{section.5.1}}
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Composite types}{44}{section.5.2}}
\citation{ununion}
\@writefile{toc}{\contentsline {section}{\numberline {5.3}Interfacing C functions}{45}{section.5.3}}
\newlabel{sec:cfunc}{{5.3}{45}{Interfacing C functions\relax }{section.5.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Macros from C}{46}{subsection.5.3.1}}
\newlabel{sec:macrosc}{{5.3.1}{46}{Macros from C\relax }{subsection.5.3.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.4}Pointers}{47}{section.5.4}}
\newlabel{sec:pointers}{{5.4}{47}{Pointers\relax }{section.5.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}What could a pointer from C be?}{47}{subsection.5.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}Mapping int * to Ada}{47}{subsection.5.4.2}}
\newlabel{sec:startoada}{{5.4.2}{47}{Mapping int * to Ada\relax }{subsection.5.4.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Access to a variable}{48}{section*.25}}
\@writefile{toc}{\contentsline {subsubsection}{Arrays}{48}{section*.26}}
\@writefile{toc}{\contentsline {subsubsection}{Interfaces.C.Pointers}{48}{section*.27}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}Mapping int ** to Ada}{49}{subsection.5.4.3}}
\@writefile{toc}{\contentsline {subsubsection}{Access to access}{49}{section*.28}}
\@writefile{toc}{\contentsline {subsubsection}{Access to array}{49}{section*.29}}
\@writefile{toc}{\contentsline {subsubsection}{Access to Interfaces.C.Pointers}{49}{section*.30}}
\citation{ada2012}
\@writefile{toc}{\contentsline {subsubsection}{Two dimensional arrays}{50}{section*.31}}
\@writefile{toc}{\contentsline {section}{\numberline {5.5}In out parameter}{50}{section.5.5}}
\newlabel{sec:inout}{{5.5}{50}{In out parameter\relax }{section.5.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.6}Void *}{50}{section.5.6}}
\newlabel{sec:voidstar}{{5.6}{50}{Void *\relax }{section.5.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.1}Pointers in records}{51}{subsection.5.6.1}}
\newlabel{sec:ptrinrecord}{{5.6.1}{51}{Pointers in records\relax }{subsection.5.6.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.2}Constrained Arrays}{52}{subsection.5.6.2}}
\newlabel{sec:costrarray}{{5.6.2}{52}{Constrained Arrays\relax }{subsection.5.6.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.3}Strings}{52}{subsection.5.6.3}}
\newlabel{sec:cstrings}{{5.6.3}{52}{Strings\relax }{subsection.5.6.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.4}Function pointers}{53}{subsection.5.6.4}}
\@writefile{toc}{\contentsline {section}{\numberline {5.7}Type conformance between Ada and C}{54}{section.5.7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.1}Basic types}{54}{subsection.5.7.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.2}Structs , arrays and pointers}{54}{subsection.5.7.2}}
\@writefile{toc}{\contentsline {section}{\numberline {5.8}Pragmas, Conventions and Keywords}{54}{section.5.8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.8.1}Convention C_Pass_By_Copy}{54}{subsection.5.8.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.8.2}Convention C}{55}{subsection.5.8.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.8.3}Pragma Unchecked_Union}{55}{subsection.5.8.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.8.4}Pragma Import}{55}{subsection.5.8.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.8.5}Aliased}{55}{subsection.5.8.5}}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Interfacing Ada with C++}{56}{chapter.6}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Importing functions from C++}{56}{section.6.1}}
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Importing Classes from C++}{57}{section.6.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Vector and String}{58}{subsection.6.2.1}}
\newlabel{sec:vec}{{6.2.1}{58}{Vector and String\relax }{subsection.6.2.1}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}GIMME Communication Protocol}{59}{chapter.7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {7.1}Requirements}{59}{section.7.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces Original image to transmit}}{60}{figure.7.1}}
\newlabel{fig:CameraLost}{{7.1}{60}{Original image to transmit\relax }{figure.7.1}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.2}{\ignorespaces If missing data after a lost frame is not skipped the resulting image look distorted}}{60}{figure.7.2}}
\newlabel{fig:CameraNotSeq}{{7.2}{60}{If missing data after a lost frame is not skipped the resulting image look distorted\relax }{figure.7.2}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.3}{\ignorespaces Skipping over lost data by filling it with a solid color gives a more correct result}}{60}{figure.7.3}}
\newlabel{fig:CameraSeq}{{7.3}{60}{Skipping over lost data by filling it with a solid color gives a more correct result\relax }{figure.7.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}GCP Functionality}{61}{subsection.7.1.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.4}{\ignorespaces Representation of a transaction (series of raw Ethernet frames)}}{62}{figure.7.4}}
\newlabel{fig:Transaction}{{7.4}{62}{Representation of a transaction (series of raw Ethernet frames)\relax }{figure.7.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}PC requirements}{62}{subsection.7.1.2}}
\@writefile{toc}{\contentsline {section}{\numberline {7.2}Design}{62}{section.7.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Header structure}{62}{subsection.7.2.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.5}{\ignorespaces Raw Ethernet header}}{63}{figure.7.5}}
\newlabel{fig:RawEthernetHeader}{{7.5}{63}{Raw Ethernet header\relax }{figure.7.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}Raw Ethernet header}{63}{subsection.7.2.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}Constant and specification headers}{63}{subsection.7.2.3}}
\@writefile{toc}{\contentsline {subsubsection}{Constant header}{63}{section*.32}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.6}{\ignorespaces Mandatory protocol header}}{64}{figure.7.6}}
\newlabel{fig:MainHeader}{{7.6}{64}{Mandatory protocol header\relax }{figure.7.6}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.7}{\ignorespaces Handshake header}}{65}{figure.7.7}}
\newlabel{fig:HandshakeHeader}{{7.7}{65}{Handshake header\relax }{figure.7.7}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.8}{\ignorespaces Ping header}}{66}{figure.7.8}}
\newlabel{fig:PingHeader}{{7.8}{66}{Ping header\relax }{figure.7.8}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.9}{\ignorespaces Subscription header}}{66}{figure.7.9}}
\newlabel{fig:SubscriptionHeader}{{7.9}{66}{Subscription header\relax }{figure.7.9}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.10}{\ignorespaces Data type header}}{67}{figure.7.10}}
\newlabel{fig:DataTypeHeader}{{7.10}{67}{Data type header\relax }{figure.7.10}{}}
\@writefile{toc}{\contentsline {subsubsection}{Specification headers}{67}{section*.36}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.11}{\ignorespaces Image data header}}{68}{figure.7.11}}
\newlabel{fig:ImageHeader}{{7.11}{68}{Image data header\relax }{figure.7.11}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.12}{\ignorespaces Matrix data header}}{69}{figure.7.12}}
\newlabel{fig:MatrixHeader}{{7.12}{69}{Matrix data header\relax }{figure.7.12}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.13}{\ignorespaces Array data header}}{69}{figure.7.13}}
\newlabel{fig:ArrayHeader}{{7.13}{69}{Array data header\relax }{figure.7.13}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.14}{\ignorespaces Configuration header}}{70}{figure.7.14}}
\newlabel{fig:ConfigurationHeader}{{7.14}{70}{Configuration header\relax }{figure.7.14}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.15}{\ignorespaces Memory header}}{70}{figure.7.15}}
\newlabel{fig:MemoryHeader}{{7.15}{70}{Memory header\relax }{figure.7.15}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.4}PC GCP driver design}{71}{subsection.7.2.4}}
\@writefile{toc}{\contentsline {subsubsection}{System design}{71}{section*.44}}
\@writefile{toc}{\contentsline {subsubsection}{Network layer}{71}{section*.45}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.16}{\ignorespaces Communication protocol design}}{72}{figure.7.16}}
\newlabel{fig:GcpPc}{{7.16}{72}{Communication protocol design\relax }{figure.7.16}{}}
\@writefile{toc}{\contentsline {subsubsection}{Frame buffer layer}{72}{section*.46}}
\@writefile{toc}{\contentsline {subsubsection}{Thread layer}{72}{section*.47}}
\@writefile{toc}{\contentsline {subsubsection}{Transaction buffer layer}{72}{section*.48}}
\@writefile{lof}{\contentsline {figure}{\numberline {7.17}{\ignorespaces Thread layer layout}}{73}{figure.7.17}}
\newlabel{fig:GcpThread}{{7.17}{73}{Thread layer layout\relax }{figure.7.17}{}}
\@writefile{toc}{\contentsline {subsubsection}{API layer}{73}{section*.49}}
\@writefile{toc}{\contentsline {chapter}{\numberline {8}Summary and Conclusions}{74}{chapter.8}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\citation{ada2012chart}
\bibstyle{acm}
\bibdata{references}
\@writefile{toc}{\contentsline {chapter}{\numberline {9}Future Work}{76}{chapter.9}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\bibcite{styleguide95}{1}
\bibcite{ada2012chart}{2}
\bibcite{fedora}{3}
\bibcite{nasa}{4}
\bibcite{qtweb}{5}
\bibcite{win7}{6}
\bibcite{opencv2011}{7}
\bibcite{bradski2008learningbasic}{8}
\bibcite{bradski2008component}{9}
\bibcite{taft2006conversion}{10}
\@writefile{toc}{\contentsline {chapter}{\numberline {A}Hough_Lines.adb}{78}{appendix.A}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {chapter}{\numberline {B}Demo Application}{80}{appendix.B}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}Demo.gpr}{80}{section.B.1}}
\@writefile{toc}{\contentsline {section}{\numberline {B.2}Demo.adb}{80}{section.B.2}}
